home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / PInterface Translator / PInterfaces / FileTransfers.p < prev    next >
Encoding:
Text File  |  1993-09-16  |  5.0 KB  |  195 lines  |  [TEXT/MPS ]

  1. {
  2.     FileTransfers.p
  3.     Pascal Interface to the File Transfer Manager
  4.     
  5.     Copyright © Apple Computer, Inc. 1988-90
  6.     All rights reserved
  7. }
  8. {$IFC UNDEFINED UsingIncludes}
  9. {$SETC UsingIncludes := 0}
  10. {$ENDC}
  11.  
  12. {$IFC NOT UsingIncludes}
  13.     UNIT FileTransfers;
  14.     INTERFACE
  15. {$ENDC}
  16.  
  17. {$IFC UNDEFINED UsingFileTransfers}
  18. {$SETC UsingFileTransfers := 1}
  19.  
  20. {$I+}
  21. {$SETC FileTransfersIncludes := UsingIncludes}
  22. {$SETC UsingIncludes := 1}
  23. {$IFC UNDEFINED UsingPackages}
  24. {$I $$Shell(PInterfaces)Packages.p}
  25. {$ENDC}
  26. {$IFC UNDEFINED UsingCTBUtilities}
  27. {$I $$Shell(PInterfaces)CTBUtilities.p}
  28. {$ENDC}
  29.  
  30. {$SETC UsingIncludes := FileTransfersIncludes}
  31.  
  32. CONST
  33. { current file transfer manager version }
  34.     curFTVersion        =    2;
  35.     
  36. { FTErr }
  37.     ftGenericError        =    -1;
  38.     ftNoErr                =    0;
  39.      ftRejected            =    1;
  40.      ftFailed            =    2;
  41.      ftTimeOut            =    3;
  42.     ftTooManyRetry        =    4;
  43.     ftNotEnoughDSpace    =    5;
  44.     ftRemoteCancel        =    6;
  45.     ftWrongFormat        =    7;
  46.     ftNoTools            =    8;
  47.     ftUserCancel        =    9;
  48.     ftNotSupported        =    10;
  49.     
  50. { FTFlags }
  51.     ftIsFTMode            =    $00000001;
  52.     ftNoMenus            =    $00000002;
  53.     ftQuiet                =    $00000004;
  54.     ftSucc                =    $00000080;
  55.     
  56. { FTAttributes }
  57.     ftSameCircuit        =    $0001;
  58.     ftSendDisable         =    $0002;
  59.     ftReceiveDisable    =    $0004;
  60.     ftTextOnly            =    $0008;
  61.     ftNoStdFile            =    $0010;
  62.     
  63. { FTDirection }
  64.     ftReceiving            =    0;
  65.     ftTransmitting        =    1;
  66.     ftFullDuplex        =    2;
  67.     
  68. { FTChooseRec messages    }
  69.     ftChooseNochange    =    1;
  70.     ftChooseBackdoor    =    2;
  71.  
  72. TYPE
  73.     FTErr                =    OSErr;
  74.     FTFlags                =     LONGINT;
  75.     FTAttributes        =    INTEGER;
  76.     FTDirection            =    INTEGER;
  77.                 
  78.     { FTChoose data structures }
  79.     FTChooseRecPtr     =    ^FTChooseRec;
  80.     FTChooseRec        =    RECORD
  81.         reserved    :    LONGINT;
  82.         msg            :    LONGINT;
  83.         idleProc    :    ProcPtr;
  84.         filterProc    :    ProcPtr;
  85.         newTool        :    Str63;
  86.         newConfig    :    Ptr;
  87.         eventProc    :    ProcPtr;
  88.     END;
  89.     
  90.     FTHandle            =    ^FTPtr;
  91.     FTPtr                =    ^FTRecord;
  92.     FTRecord            =    PACKED RECORD
  93.         procID            :    INTEGER;
  94.         
  95.         flags            :    FTFlags;
  96.         errCode            :    FTErr;
  97.         
  98.         refCon            :    LONGINT;
  99.         userData        :    LONGINT;
  100.     
  101.         defProc            :    ProcPtr;
  102.         
  103.         config            :    Ptr;
  104.         oldConfig         :    Ptr;
  105.  
  106.         environsProc    :    ProcPtr;
  107.         reserved1        :    LONGINT;        
  108.         reserved2        :    LONGINT;        
  109.         
  110.         ftPrivate        :    Ptr;
  111.     
  112.         sendProc        :      ProcPtr;
  113.         recvProc        :    ProcPtr;
  114.         writeProc        :    ProcPtr;
  115.         readProc        :    ProcPtr;
  116.  
  117.         owner            :    WindowPtr;
  118.  
  119.         direction        :    FTDirection;
  120.         theReply        :     SFReply;
  121.  
  122.         writePtr        :    LONGINT;
  123.         readPtr            :    LONGINT;
  124.         theBuf            :    ^char;
  125.         bufSize            :    LONGINT;
  126.         autoRec            :    Str255;
  127.         attributes        :    FTAttributes;
  128.     END;
  129.     
  130. FUNCTION     InitFT: FTErr;
  131. FUNCTION     FTGetVersion(hFT : FTHandle) : Handle;
  132. FUNCTION     FTGetFTVersion : INTEGER;
  133.  
  134. FUNCTION     FTNew(procID: INTEGER; flags: FTFlags; 
  135.                 sendProc: ProcPtr; recvProc: ProcPtr;
  136.                 readProc: ProcPtr; writeProc: ProcPtr; environsProc: ProcPtr;
  137.                 owner: WindowPtr; refCon: LONGINT; userData: LONGINT) : FTHandle;
  138.                 
  139. PROCEDURE     FTDispose(hFT: FTHandle);
  140.  
  141. FUNCTION     FTStart(hFT: FTHandle; direction: FTDirection; fileInfo: SFReply) : FTErr;
  142. FUNCTION     FTAbort(hFT: FTHandle) : FTErr;
  143.  
  144. PROCEDURE     FTExec(hFT : FTHandle);
  145.  
  146. PROCEDURE     FTActivate(hFT : FTHandle; activate: BOOLEAN);
  147. PROCEDURE     FTResume(hFT : FTHandle; resume: BOOLEAN);
  148. FUNCTION    FTMenu(hFT: FTHandle; menuID: INTEGER; item: INTEGER): BOOLEAN;
  149.  
  150. FUNCTION     FTChoose(VAR hFT: FTHandle; where: Point; idleProc: ProcPtr) : INTEGER;
  151. FUNCTION     FTPChoose(VAR hFT:FTHandle; where: Point; VAR cRec: FTChooseRec) : INTEGER;
  152. PROCEDURE     FTEvent(hFT: FTHandle; theEvent: EventRecord);
  153.  
  154. FUNCTION      FTValidate(hFT: FTHandle) : BOOLEAN;
  155. PROCEDURE     FTDefault(VAR theConfig: Ptr; procID: INTEGER; allocate: BOOLEAN);
  156.  
  157. FUNCTION      FTSetupPreflight(procID: INTEGER; VAR magicCookie: LONGINT): Handle;
  158. PROCEDURE     FTSetupSetup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  159.                 VAR magicCookie: LONGINT);
  160. FUNCTION      FTSetupFilter(procID: INTEGER; theConfig: Ptr;  count: INTEGER; theDialog: DialogPtr;  
  161.                 VAR theEvent: EventRecord; VAR theItem: INTEGER; VAR magicCookie: LONGINT) : BOOLEAN;
  162. PROCEDURE     FTSetupItem(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr; 
  163.                 VAR theItem: INTEGER; VAR magicCookie: LONGINT);
  164. PROCEDURE     FTSetupCleanup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;  
  165.                 VAR magicCookie: LONGINT);
  166. PROCEDURE     FTSetupXCleanup(procID:INTEGER; theConfig:Ptr; count:INTEGER; 
  167.                 theDialog:DialogPtr; OKed: BOOLEAN; VAR magicCookie:LONGINT);
  168.     
  169. PROCEDURE     FTSetupPostflight(procID: INTEGER);
  170.  
  171. FUNCTION      FTGetConfig(hFT: FTHandle) : Ptr; 
  172. FUNCTION      FTSetConfig(hFT: FTHandle; thePtr : Ptr) : INTEGER;
  173.  
  174. FUNCTION     FTIntlToEnglish(hFT: FTHandle; inputPtr: Ptr; VAR outputPtr: Ptr;
  175.                     language: INTEGER) : OSErr; 
  176. FUNCTION     FTEnglishToIntl(hFT: FTHandle; inputPtr: Ptr; VAR outputPtr: Ptr; 
  177.                     language: INTEGER) : OSErr;
  178.  
  179. PROCEDURE     FTGetToolName(procID: INTEGER; VAR name: Str255);
  180. FUNCTION      FTGetProcID(name: Str255) : INTEGER;
  181.  
  182. PROCEDURE     FTSetRefCon(hFT: FTHandle; refCon: LONGINT);
  183. FUNCTION      FTGetRefCon(hFT: FTHandle) : LONGINT;
  184.  
  185. PROCEDURE     FTSetUserData(hFT: FTHandle; userData: LONGINT);
  186. FUNCTION      FTGetUserData(hFT: FTHandle) : LONGINT;
  187.  
  188. PROCEDURE    FTGetErrorString(hFT: FTHandle; id: INTEGER; VAR errMsg: Str255);
  189. {$ENDC} {UsingFileTransfers}
  190.  
  191. {$IFC NOT UsingIncludes}
  192.     END.
  193. {$ENDC}
  194.  
  195.